export default {
  // 次数编写的是 Vue 组件实例的配置项，通过一定语法，可以直接混入到组件内部
  // 像 data methods computed 生命周期函数 。。。 都可以在这提供
  // 注意点：如果此处和组件内，提供了同名的 data methods，则组件内优先级更高
  // 如果编写了生命周期函数，会和页面种的生命周期放在一个数组中，统一管理
  data () {
    return {
      title: '标题'
    }
  },
  methods: {
    sayHi () {
      console.log('你好')
    },
    // 根据登录状态，判断是否需要显示登录确认框
    // 未登录 => 显示弹出框 true
    // 已登陆 => 啥也不干 false
    loginConfirm () {
      // 判断 token 是否存在（未登录）
      // 如果不存在，则弹出登录对话框
      // 存在，继续请求操作
      if (!this.$store.getters.token) {
        // 弹出登录对话框
        this.$dialog.confirm({
          title: '温馨提示',
          message: '此时需要先登录才能继续操作~',
          confirmButtonText: '去登陆',
          cancelButtonText: '再逛逛'
        })
          .then(() => {
            // 如果希望跳转登录，登录后要能回跳回来，需要在跳转时携带参数（当前的路径地址）
            // 将 push -> replace，能实现跳转路径的替换，而不是累加
            this.$router.replace({
              path: '/login',
              query: {
                backUrl: this.$route.fullPath
              }
            })
          }) // 点击确认
          .catch(() => {
          })
        return true
      }
      return false
    }
  }
}
